﻿using Admin.NET.Application.Entity;

namespace Admin.NET.Application;

/// <summary>
/// 从机变量输出参数
/// </summary>
public class DeviceSlaveTemplatePointsOutput
{
    /// <summary>
    /// 主键Id
    /// </summary>
    public long Id { get; set; }

    /// <summary>
    /// 变量类型
    /// </summary>
    public int PointType { get; set; }

    /// <summary>
    /// 变量名字
    /// </summary>
    public string PointName { get; set; }

    /// <summary>
    /// 设备从机模板Id
    /// </summary>
    public long DeviceSlaveTemplateId { get; set; }

    /// <summary>
    /// 设备从机模板Id 描述
    /// </summary>
    public string DeviceSlaveTemplateIdSlaveName { get; set; }

    /// <summary>
    /// 变量标识符
    /// </summary>
    public string? DataIdentifier { get; set; }

    /// <summary>
    /// 千年
    /// </summary>
    public int? Millennials { get; set; }

    /// <summary>
    /// 数据类型
    /// </summary>
    public Entity.DataType DataType { get; set; }

    /// <summary>
    /// 长度
    /// </summary>
    public string? Len { get; set; }

    /// <summary>
    /// 寄存器地址
    /// </summary>
    public string reg { get; set; }

    /// <summary>
    /// 寄存器类型
    /// </summary>
    public RegType RegType { get; set; }

    /// <summary>
    /// 变量类型
    /// </summary>
    public string? VarType { get; set; }

    /// <summary>
    /// 单位
    /// </summary>
    public string? Unit { get; set; }

    /// <summary>
    /// 读写属性
    /// </summary>
    public ReadWrite ReadWrite { get; set; }

    /// <summary>
    /// 存储位置
    /// </summary>
    public StoreType? Store { get; set; }

    /// <summary>
    /// 采集频率
    /// </summary>
    public CycleType Cycle { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime? CreateTime { get; set; }

    /// <summary>
    /// 更新时间
    /// </summary>
    public DateTime? UpdateTime { get; set; }

    /// <summary>
    /// 创建者Id
    /// </summary>
    public long? CreateUserId { get; set; }

    /// <summary>
    /// 创建者姓名
    /// </summary>
    public string? CreateUserName { get; set; }

    /// <summary>
    /// 修改者Id
    /// </summary>
    public long? UpdateUserId { get; set; }

    /// <summary>
    /// 修改者姓名
    /// </summary>
    public string? UpdateUserName { get; set; }

    /// <summary>
    /// 软删除
    /// </summary>
    public bool? IsDelete { get; set; }

    /// <summary>
    /// 精确几位
    /// </summary>
    public PrecisionEnum PrecisionEnum { get; set; }

    public string DataValue { get; set; }
    /// <summary>
    /// 采集公式
    /// </summary>

    public string? Formula { get; set; }

    /// <summary>
    /// 控制公式
    /// </summary>

    public string? ReFormula { get; set; }
}